package 创建的方式;

public class 方式一_Thread {

    public static void main(String[] args) {
        //继承Thread:使用Thread重写run方法的方式

        //写法1：自己写一个类继承thread，重写run方法  父类引用指向子类对象
        Thread t = new MyThread(); //父类引用指向子类对象
        //调用start方法才会真正的创建操作系统中的线程，并且申请系统调度执行
        t.start();

        //匿名内部类:本质上还是继承了Thread类
        //new出来的其实是一个没有类名的匿名类（继承了Thread）
        Thread t2 = new Thread(){
            @Override
            public void run() {
                System.out.println("匿名内部类 run");
            }
        };
        t2.start();
    }

    //静态内部类:使用和普通的类没有什么区别
    private static class MyThread extends Thread{
        @Override
        public void run() {//run方法内，描述了线程要执行的任务
            System.out.println("my thread run");
        }
    }
}
